package edu.szcu.vitaguard.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 预约挂号实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Registration {
    /**
     * 预约ID
     */
    private Integer regId;

    /**
     * 患者ID
     */
    private Integer patientId;

    /**
     * 患者
     */
    private Patient patient;

    /**
     * 医生ID
     */
    private Integer doctorId;

    /**
     * 医生
     */
    private Doctor doctor;

    /**
     * 排班ID
     */
    private Integer scheduleId;

    /**
     * 排班
     */
    private Schedule schedule;

    /**
     * 预约日期
     */
    private LocalDate regDate;

    /**
     * 预约时间段开始时间
     */
    private LocalTime startTime;

    /**
     * 预约时间段结束时间
     */
    private LocalTime endTime;

    /**
     * 预约类型：普通号、专家号、急诊号、特需号
     */
    private String regType;

    /**
     * 预约状态：已预约、已就诊、已取消、爽约、待就诊
     */
    private String status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
